package com.fowo.api.model.quality.check.storage;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fowo.api.common.validator.*;
import javax.validation.constraints.*;
import lombok.Data;
import com.alibaba.excel.annotation.ExcelIgnore;
import io.swagger.v3.oas.annotations.media.Schema;

/**
    * 质检单 预览导入辅助模型(全字段为文本类型)
    * @author yl_ls
    */
@Data
public class QualityCheckStorageImportPo {
/** 质检单号 */
@ExcelProperty("质检单号")
private String qcSn;

/** 品名 */
@ExcelProperty("品名")
@Size(max = 500, message = "品名长度不能超过500")
private String productNameName;
@ExcelIgnore
@Schema(title = "品名")
private String productName;

/** SKU */
@ExcelProperty("SKU")
@Size(max = 50, message = "SKU长度不能超过50")
private String sku;

/** 商品标签 */
@ExcelProperty("商品标签")
@Size(max = 50, message = "商品标签长度不能超过50")
private String productLabel;

/** 店铺 */
@ExcelProperty("店铺")
@Size(max = 50, message = "店铺长度不能超过50")
private String shopShopName;
@ExcelIgnore
@Schema(title = "店铺")
private String shop;

/** FNSKU */
@ExcelProperty("FNSKU")
@Size(max = 50, message = "FNSKU长度不能超过50")
private String fnsku;

/** 采购单号 */
@ExcelProperty("采购单号")
private String purchaseCodePurchaseOrderCode;
@ExcelIgnore
@Schema(title = "采购单号")
private String purchaseCode;

/** 采购员 */
@ExcelProperty("采购员")
@Size(max = 50, message = "采购员长度不能超过50")
private String buyerNameName;
@ExcelIgnore
@Schema(title = "采购员")
private String buyerName;

/** 收货人 */
@ExcelProperty("收货人")
@Size(max = 50, message = "收货人长度不能超过50")
private String receiveNameName;
@ExcelIgnore
@Schema(title = "收货人")
private String receiveName;

/** 仓库 */
@ExcelProperty("仓库")
@Size(max = 50, message = "仓库长度不能超过50")
private String warehouseName;
@ExcelIgnore
@Schema(title = "仓库")
private String warehouse;

/** 供应商 */
@ExcelProperty("供应商")
@Size(max = 50, message = "供应商长度不能超过50")
private String supplierSupplierName;
@ExcelIgnore
@Schema(title = "供应商")
private String supplier;

/** 到货时间 */
@ExcelProperty("到货时间")
@DateTimeString(message = "到货时间不是有效的时间日期格式")
private String receiveTime;

/** 收货单号 */
@ExcelProperty("收货单号")
@Size(max = 50, message = "收货单号长度不能超过50")
private String deliveryOrderSn;

/** 质检量 */
@ExcelProperty("质检量")
@LongString(message = "质检量数值格式不正确", label="质检量", min = 0L)
private String productReceiveNum;

/** 质检方式 */
@ExcelProperty("质检方式")
@EnumsString(value = {"抽检", "全检"}, message = "质检方式只能是“抽检”, “全检”中的一个")
private String qcMethodType;

/** 抽检合格率 */
@ExcelProperty("抽检合格率")
@DecimalString(message = "抽检合格率小数格式不正确", label="抽检合格率")
private String qcRatePass;

/** 良品量 */
@ExcelProperty("良品量")
@IntegerString(message = "良品量数值格式不正确", label="良品量", min = 0)
private String productGoodNum;

/** 快捷入库下推 */
@ExcelProperty("快捷入库下推")
@IntegerString(message = "快捷入库下推数值格式不正确", label="快捷入库下推", min = 0)
private String entryLibrary;

/** 次品量 */
@ExcelProperty("次品量")
@IntegerString(message = "次品量数值格式不正确", label="次品量", min = 0)
private String productBadNum;

/** 质检员 */
@ExcelProperty("质检员")
@Size(max = 50, message = "质检员长度不能超过50")
private String qcNameName;
@ExcelIgnore
@Schema(title = "质检员")
private String qcName;

/** 质检时间 */
@ExcelProperty("质检时间")
@DateTimeString(message = "质检时间不是有效的时间日期格式")
private String qcTime;

/** 备注 */
@ExcelProperty("备注")
@Size(max = 50, message = "备注长度不能超过50")
private String remark;

/** 质检状态 */
@ExcelProperty("质检状态")
@EnumsString(value = {"质检中", "待审批", "已完成", "已撤销", "以免检"}, message = "质检状态只能是“质检中”, “待审批”, “已完成”, “已撤销”, “以免检”中的一个")
private String qcStatus;

/** 目标表ID列 */
@ExcelProperty("目标表ID列")
@Size(max = 50, message = "目标表ID列长度不能超过50")
private String parentId;

/** 待检量 */
@ExcelProperty("待检量")
@LongString(message = "待检量数值格式不正确", label="待检量")
private String noQcNum;

/** 抽检量 */
@ExcelProperty("抽检量")
@IntegerString(message = "抽检量数值格式不正确", label="抽检量", min = 0)
private String productQcNum;

/** 抽检次品量 */
@ExcelProperty("抽检次品量")
@IntegerString(message = "抽检次品量数值格式不正确", label="抽检次品量", min = 0)
private String qcBadNum;

/** 抽检比例 */
@ExcelProperty("抽检比例")
@DecimalString(message = "抽检比例小数格式不正确", label="抽检比例")
private String qcRate;

/** 总良品量 */
@ExcelProperty("总良品量")
@IntegerString(message = "总良品量数值格式不正确", label="总良品量")
private String allProductGoodNum;

/** 总次品量 */
@ExcelProperty("总次品量")
@IntegerString(message = "总次品量数值格式不正确", label="总次品量")
private String allProductBadNum;

/** 可用仓位 */
@ExcelProperty("可用仓位")
@Size(max = 50, message = "可用仓位长度不能超过50")
private String whbCodeGoodIdStorageBin;
@ExcelIgnore
@Schema(title = "可用仓位")
private String whbCodeGoodId;

/** 次品仓位 */
@ExcelProperty("次品仓位")
@Size(max = 50, message = "次品仓位长度不能超过50")
private String whbCodeBadIdStorageBin;
@ExcelIgnore
@Schema(title = "次品仓位")
private String whbCodeBadId;

/** 收货单子表ID */
@ExcelProperty("收货单子表ID")
@Size(max = 50, message = "收货单子表ID长度不能超过50")
private String receiptProductIdSku;
@ExcelIgnore
@Schema(title = "收货单子表ID")
private String receiptProductId;

/** 收货单号 */
@ExcelProperty("收货单号")
private String orderSn;

/** 单据状态 */
@ExcelProperty("单据状态")
@EnumsString(value = {"质检中", "待审批", "已完成", "已撤销"}, message = "单据状态只能是“质检中”, “待审批”, “已完成”, “已撤销”中的一个")
private String status;

/** 待检 */
@ExcelProperty("待检")
@Size(max = 50, message = "待检长度不能超过50")
private String waitInspectionStorageBin;
@ExcelIgnore
@Schema(title = "待检")
private String waitInspection;

}
